Software-based method for simulation of multiple access networks

ABSTRACT

A software-based method for simulation of multiple access networks is provided. The method can simulate one or more networks complying with broadcast media on one or more computers installed with a protocol for transferring simulation frames to computers involved in simulation by using software. Also, simulation frames are transferred over the simulated network. The invention takes advantage of the installed protocol to simulate a frame transfer mechanism. Further, the invention can define and simulate a real network topology by software for transmitting/receiving simulation frames.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a method for accessing to network and, more particularly, to a software-based method for simulation of multiple access networks.

[0003] 2. Description of Related Art

[0004] Conventionally, an Internet protocol is implemented in an existing network (e.g., Ethernet) which is responsible for communicating information. Further, a topology of the network is established to configure communication parameters of a network layer. Network topology is an arrangement of computers, cables, and other branches in a network wherein computers are interconnected for enabling a sharing of resources among them. For obtaining an optimum operation, the topology should be programmed depending on applications. A typical topology falls into one of the following four types:

[0005] Bus: It means that each of a plurality of devices (e.g., computers) is coupled to one or more common cables which are the coupled to together.

[0006] Star: It means that each of a plurality of computers is coupled to the other computer by cable via a hub.

[0007] Ring: It means that a ring is formed by a plurality of computers coupled by cable.

[0008] Mesh: It means that any two adjacent computers are coupled together by a unique cable.

[0009] However, any above topology is implemented by manually interconnecting cables prior to configuring hardware and/or software. As understood, that manual processing is time consuming and prone to err. Hence, employees have to spend much time on debugging non-critical errors. For example, in the case of interconnecting five computers by adding two computers into the already connected three computers, a disconnection of the established network is possible due to a human error in wiring. In another case of establishing a new Internet protocol, it is necessary to re-program the wiring of network for forming a new network topology for tailoring the needs of experiment or teaching. But above redesign is undesirable because of limited space, inadequate equipment, large scale network layout, high cost, and inflexible network topology.

[0010] Therefore, it is desirable to provide a novel method for accessing to network in order to mitigate and/or obviate the aforementioned problems.

SUMMARY OF THE INVENTION

[0011] An object of the present invention is to provide a software-based method for simulation of multiple access networks so that a purpose of simulating network topology by software is achieved.

[0012] Another object of the present invention is to provide a software-based method for simulation of multiple access networks so that both troubles caused by human errors and time spend by manual wiring are reduced significantly.

[0013] Still another object of the present invention is to provide a software-based method for simulation of multiple access networks so that cost of both labor and procurement is reduced significantly.

[0014] To achieve the object, the software-based method for simulation of multiple access networks of the present invention comprises a data conversion procedure, a computer-played simulator procedure, a first validation procedure, a second validation procedure, a transmitting simulation frame procedure, a receiving simulation frame procedure, and a software simulation network configuration procedure wherein the data conversion procedure is responsible for converting network configuration information into a data type that is identifiable by a computer and storing the same in a rewritable data storage device which is capable of distributing data into respective computers; the computer-played simulator procedure is responsible for retrieving contents of the rewritable data storage device and following a logic operation based on the contents, so as to act as a simulator for simulating nodes in a network; the first validation procedure is responsible for validating an integrity of network configuration; the second validation procedure is responsible for validating a symmetry of network configuration; the transmitting simulation frame procedure is responsible for transmitting simulation frames to a receiving simulator, wherein the simulation frame is implemented as a data structure capable of communicating among nodes; the receiving simulation frame procedure is responsible for determining whether the received simulation frames are valid or not; and the software simulation network configuration procedure is responsible for establishing a network configuration to be simulated based on above procedures.

[0015] Other objects, advantages, and novel features of the invention will become more apparent from the detailed description when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016]FIG. 1 presents schematically a network topology simulated by software according to the invention;

[0017]FIG. 2 presents schematically a relationship among elements of a rewritable data storage device according to the invention;

[0018]FIG. 3 is a flow chart illustrating a data conversion procedure according to the invention;

[0019]FIG. 4 is a flow chart illustrating a first validation procedure according to the invention;

[0020]FIG. 5 is a flow chart illustrating a second validation procedure according to the invention;

[0021]FIG. 6 is a flow chart illustrating a transmitting simulation frame procedure according to the invention;

[0022]FIG. 7 is a flow chart illustrating a receiving simulation frame procedure according to the invention; and

[0023]FIG. 8 is a flow chart illustrating a software simulation network configuration procedure according to the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0024] In a preferred embodiment of the invention, a broadcast packet switching network (e.g., Ethernet, or the like) is simulated. The invention can simulate one or more networks complying with broadcast medium on one or more computers installed with a protocol (e.g., TCP/IP (Transport Control Protocol/Internet Protocol) for transferring simulation frames to computers involved in the simulation) by using software. Also, simulation frames are transferred over the simulated network. The invention takes advantage of the installed protocol to simulate a frame transfer mechanism. Further, the invention can define and simulate a real network topology by software for transmitting/receiving simulation frames. As a result, a simulation of multiple access networks is effected.

[0025] A computer employed by the invention comprises a rewritable data storage device for storing data about the network topology and associated parameters. Data may be object-oriented, relation-oriented, or the other as long as it can correctly represent the network topology.

[0026] With reference to FIG. 1, there is shown a schematic drawing of a network topology simulated by software according to the invention. The topology is implemented as a bus topology and comprises links L_(i) (i from 1 to 2) implemented as a transferring medium for transferring simulation frames; nodes N_(i) (i from 1 to 6) in the network; and network interfaces I_(i) (i being one of 11, 12, 2, 31, 32, 4, 5, and 6). One interface I_(i) is permitted to couple to at most one link L_(i) in compliance with the only linking requirement about the network interface I_(i). Further, one network interface I_(i) is permitted to belong to at most one node N_(i) in compliance with the only subordination requirement about network interface I_(i). Furthermore, one link L_(i) may be coupled to at least one network interface I_(i) or nothing. Moreover, one node N_(i) can have at least one network interface I_(i) or nothing. In the embodiment, network interface I_(i) is implemented as a network adapter, while it is appreciated by those skilled in the art that it may be a modem or port without departing from the scope and spirit of the invention.

[0027] A data conversion procedure is employed to convert network topology of FIG. 1 into data which can be stored in computer. A flow chart illustrating the data conversion procedure is shown in FIG. 3. First, a user defines a simulation (S301) as shown in FIG. 1. Then analyze a configuration relationship among nodes N_(i), links L_(i), and network interfaces I_(i) (S302). In FIG. 1, there are provided two links L_(i), six nodes N_(i), and eight network interfaces I_(i). Next, mathematical sets are employed to represent nodes N_(i), links L_(i), and network interfaces I_(i) so as to form a data type identifiable by the computer (S303). In the case a set theorem of mathematics is employed to modualize the relationship of links L_(i), nodes N_(i), and network interfaces I_(i) shown in FIG. 1. Hence, links L_(i) and nodes N_(i) may be represented as follows:

[0028] L₁={I₁₁, I₂, I₃₁, I₄},

[0029] L₂={I₃₂, I₅, I₆},

[0030] N₁={I₁₁, I₁₂},

[0031] N₂={I₂},

[0032] N₃={I₃₁, I₃₂},

[0033] N₄={I₄},

[0034] N₅={I₅}, and

[0035] N₆={I₆}.

[0036] The data type obtained from above simulation is stored in the rewritable data storage device (S304). Also, the rewritable data storage device can be provided in respective computers. In the case, the link L_(i) is defined to have a unique ID (e.g., link_id) for uniquely identifying a specific link L_(i) by the rewritable data storage device. Note that the link_id may be a string of characters. The network interface I_(i) has a unique ID (e.g., interface_id) for identifying a specific network interface I_(i). Note that the interface_id is a value having a fixed bit representing an address of medium access control layer of the network interface I_(i). Also, any two or more network interfaces I_(i) coupled to the same link L_(i) are not allowed to have the same interface_id in compliance with the only identification requirement about the network interface I_(i) on link L_(i). Similarly, any two or more network interfaces I_(i) coupled to the same node N_(i) are not allowed to have the same interface_id in compliance with the only identification requirement about the network interface I_(i) on node N_(i).

[0037] With reference to FIG. 2, there is shown a schematic diagram depicting possible relationship between elements of the rewritable data storage device. As shown, each block represents an element and each line connecting two blocks represents a relationship therebetween. The relationship can be “acting as”, “having”, “belong to”, or “coupled to”.

[0038] The invention employs a computer-played simulator procedure to cause a computer to retrieve contents of the rewritable data storage device and follow a logic operation based on the contents, so as to act as a simulator S_(i) (i=1, 2, 3, or 4). Simulator S_(i) is typically a process of the operating system and acts as nodes N_(i). One simulator S_(i) can act as one or more nodes N_(i). Also, one node N_(i) can act as one or more simulators S_(i). Preferably, for the sake of design, one simulator S_(i) acts as one node N_(i) having the lowest complexity.

[0039] In the embodiment, simulator S_(i) defines a protocol as UDP (User Datagram Protocol) of TCP/IP. A process in each operating system is implemented as a simulator S_(i) for monitoring an UDP port of IP address. In a specific simulation, simulator S_(i) can only act as one node N_(i). Also, each simulator S_(i) has to transmit or receive simulation frames via UDP.

[0040] Based on the data conversion procedure, the rewritable data storage device may distribute data into respective computers. Hence, it is important to validate whether the distributed data complies with the original topology. FIG. 4 is a flow chart illustrating a first validation procedure for validating an integrity of the network configuration. In the first validation procedure, R, L, N, I and S represent the rewritable data storage device, all links L_(i) represented by R, all nodes N_(i) represented by R, all network interfaces I_(i) represented by R, and all simulators S_(i) executed by R, respectively. Further, data of the rewritable data storage device is distributed into k computers and represented as R₁, R₂, R₃, . . . , and R_(k), wherein R₁={L₁, N₁, I₁, S₁}, R₂={L₂, N₂, I₂, S₂}, . . . , R_(k)={L_(k), N_(k), I_(k), S_(k)}.

[0041] First, let L=L₁∪L₂∪L₃ . . . •L_(k) (S401); N=N₁∪N₂∪N₃ . . . •N_(k) (S402); and I=I₁∪I₂∪I₃ . . . ∪I_(k) (S403). Then, it is validated whether any two links L_(x) and L_(y) in the rewritable data storage device satisfy the equation (L_(x)∩L_(y))=Ø (S404). If it is true, it means that it complies with the only linking requirement about the network interface I_(i). Next, it is validated whether any two nodes N_(x) and N_(y) therein satisfy the equation (N_(x)∩N_(y))=Ø (S405). If it is true, it means that it complies with the only subordination requirement about the network interface I_(i). Note that the first validation procedure is also applicable to a validation of data in a non-distributive rewritable data storage device as long as k has a value of one.

[0042] In addition to validate the integrity of topology, it is still required to validate a symmetry of nodes N_(i) in the rewritable data storage device in order to determine whether the simulator S_(i) participating in the simulation can obtain address information about the simulator S_(i) with the help of the rewritable data storage device. With reference to FIG. 5, there is shown a flow chart illustrating a second validation procedure according to the invention. The second validation procedure is substantially the same as the first one. For example, the second validation procedure defines k simulators S_(i) (e.g., S₁, S₂, S₃, . . . , and S_(k)) participating a simulation.

[0043] As shown, nodes N_(i) are first defined to be simulated by a certain simulator S_(i) as N(S_(i)), i=1, 2, 3, . . . , k (S501), so as to form a set. Next, let N(S_(i))={N₁, N₂, N₃, . . . , N_(m)} (S502). Then, L(N_(j)) is defined as a set of all links L_(i) coupled to the node N_(i) where j=1, 2, 3, . . . , m (S503). Next, L(S_(i)) is defined as a set of all links L_(i) related to the simulator S_(i) (S504), that is, L(S_(i))=L(N₁)∪(N₂)∪L(N₃)∪ . . . . L(N_(m)). Then, any two simulators S_(x) and S_(y) are defined to be symmetric if they satisfy L(S_(x))∩L(S_(y))≠0 (S505). Hence, the simulator S_(x) obtains the complete information of the simulator S_(y) by the rewritable data storage device in the protocol (e.g., address information, UDP port, or the like). Similarly, the simulator S_(y) obtains the complete information of the simulator S_(x) in the protocol by the rewritable data storage device.

[0044] A simulation of the invention is completed if the first and second validation procedures are fulfilled. Next, a procedure of simulating communication between nodes N_(i) is performed based on the completed simulation. First, in the simulation frame, there are defined an ID (e.g., sender_id) for recording a network interface I_(i) sending the simulation frame, an ID (e.g., destination_id) for recording a network interface I_(i) desired to receive the network interface I_(i), and an ID (e.g., bearing₁₃ link_id) for identifying a link L_(i) which transports the simulation frame.

[0045] With reference to FIG. 6, there is shown a flow chart illustrating a transmitting simulation frame procedure according to the invention. The simulation frame is defined as a data structure of nodes N_(i) in communication. The transmitting simulation frame procedure is responsible for sending simulation frames to a simulator S_(i) for receiving. First, it is assumed that the simulation frame to be sent is F, I_(m) is a network interface I_(i) for sending F, L_(m) is a link L_(i) coupled to I_(m), and I_(n) is a destination network interface I_(i) of F (S601). Further, the interface_id of I_(m) is filled into the sender_id field of F (S602), the interface_id of I_(n) is filled into the destination_id field of F (S603), and the link_id of L_(m) is filled into the bearing_ink_id field of F (S604). Note that the order of steps S602, S603, and S604 may be altered. Next, a protocol is called for taking the simulation frame as a payload of protocol (S605). Finally, the simulation frame is transmitted to the simulator S_(i) conforming to the simulation (S606).

[0046] At this time, simulator S_(i) has to determine whether to process or discard a received simulation frame. In response, a receiving simulation frame procedure has to be performed. With reference to FIG. 7, there is shown a flow chart illustrating the receiving simulation frame procedure. In the receiving simulation frame procedure, I(N) is defined as a set comprising all network interfaces owned by nodes. Also, N(S) and L(S) have to satisfy steps S501, S502, S503, and S504 shown in FIG. 5. Further, I[N(S)] is defined as a set comprising all network interfaces I_(i) of all nodes N_(i) simulated by the simulator S_(i). The simulator S_(i) first receives the simulation frame (S701), and next retrieves an address of the network interface I_(i) to be transmitted from the simulation frame (S702). Such an address is the destination_id stored in the simulation frame as indicated in the transmitting simulation frame procedure. Further, link L_(i) information used between two network interfaces I_(i) (S703) is retrieved, i.e., the bearing_link_id stored in the simulation frame. Then, the network interface I_(i) (or link information) stored in the simulation frame is compared with that in the simulator S_(i) (S704). The simulation frame can be accepted by the simulator S_(i) only after the following conditions are satisfied: there exists an interface_id of the network interface I_(i) in I[N(S)] of simulator S_(i) wherein the interface_id is equal to the destination_id of the simulation frame, and the link_id of the link L_(i) coupled to the network interface I_(i) is equal to the bearing_ink_id of the simulation frame; or the destination_id of the simulator S_(i) is equal to a specific value (e.g., broadcasting address of LAN (Local Area Network)) validated by a certain simulator S_(i), and the bearing_link_id of simulator is in the set of L(S) (S705).

[0047] With reference to FIG. 8, there is shown a flow chart illustrating a software simulation network configuration procedure for establishing a network configuration based on above procedures. First, a network configuration is programmed to be simulated (S801). For the sake of programming, it is preferably to schematically draw a network topology to be simulated as that shown in FIG. 1. Next, the programmed network configuration is converted to be simulated into a data type identifiable by the computer by performing the data conversion procedure (S802). Then, a required data field for each element is added in the rewritable data storage device (e.g., data of ID). Thereafter, the number of simulators S_(i) and the number of nodes N_(i) to be simulated by simulator S_(i) are determined (S803). Next, the rewritable data storage device is divided and distributed into each of the simulators S_(i) for being stored (S804). Finally, it is ascertained that each simulator S_(i) is capable of transmitting and receiving simulation frames. Also, each simulator S_(i) is capable of recognizing structure information of the other one (S805).

[0048] Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed. 

What is claimed is:
 1. A software-based method for simulation of multiple access networks comprising: a data conversion procedure for converting network configuration information into a data type that is identifiable by a computer and storing the same in a rewritable data storage device which is capable of distributing data into respective computers; a computer-played simulator procedure for retrieving contents of the rewritable data storage device and following a logic operation based on the contents, so as to act as a simulator for simulating nodes in the network; a first validation procedure for validating an integrity of the network configuration; a second validation procedure for validating a symmetry of the network configuration; a transmitting simulation frame procedure for transmitting simulation frames to a receiving simulator, wherein the simulation frame is implemented as a data structure capable of communicating among nodes; a receiving simulation frame procedure for determining whether the received simulation frames are valid or not; and a software simulation network configuration procedure for establishing a network configuration to be simulated based on above procedures.
 2. The method as claimed in claim 1, wherein the rewritable data storage device comprises: at least one node in the network; at least one link implemented as transferring media for transferring the simulation frames; and at least one network interface allowed to couple to at most one link and belong to at most one node.
 3. The method as claimed in claim 2, wherein the data conversion procedure comprises: (A) defining a simulation by a user; (B) analyzing a configuration relationship among the nodes, the links, and the network interfaces; (C) using mathematical sets to represent the nodes, the links, and the network interfaces so as to form a data type identifiable by the computer; and (D) storing the data type in the rewritable data storage device.
 4. The method as claimed in claim 2, wherein in the first validation procedure, if R, L, N, I and S represent the rewritable data storage device, all links represented by R, all nodes represented by R, all network interfaces represented by R, and all simulators executed by R, respectively, and data of the rewritable data storage device is distributed into k computers and represented as R₁, R₂, R₃, . . . , and R_(k), wherein R₁={L₁, N₁, I₁, S₁}, R₂={L₂, N₂, I₂, S₂}, . . . , R_(k)={L_(k), N_(k), I_(k), S_(k)}, the first validation procedure comprises the steps of: (A) letting L=L₁∪L₂∪L₃ . . . ∪L_(k), N=N₁∪N₂∪N₃ . . . ∪N_(k), and I=I₁∪I₂∪I₃ . . . ∪I_(k); and (B) validating whether any two links L_(x) and L_(y) in the rewritable data storage device satisfy an expression (L_(x)∩L_(y))=Ø, and validating whether any two nodes N_(x) and N_(y) therein satisfy an expression (N_(x)∩N_(y))=Ø.
 5. The method as claimed in claim 2, wherein in the second validation procedure, if R, L, N, I and S represent the rewritable data storage device, all links represented by R, all nodes represented by R, all network interfaces represented by R, and all simulators executed by R, respectively, and k simulators represented as S₁, S₂, S₃, . . . , and S_(k) are defined to participate a simulation, the second validation procedure comprises the steps of: (A) defining nodes to be simulated by a simulator as N(S_(i)) where i=1, 2, 3, . . . , k; and (B) assuming N(S_(i))={N₁, N₂, N₃, . . . , N_(m)}, defining L(N_(j)) as a set of all links coupled to the node where j=1, 2, 3, . . . , m, and defining L(S_(i)) as a set of all links related to the simulator; and (C) defining any two simulators S_(x) and S_(y) to be symmetric if they satisfy L(S_(x))∩L(S_(y))≠Ø, and each of the simulators S_(x) and S_(y) obtaining complete information of the other by the rewritable data storage device.
 6. The method as claimed in claim 2, wherein the simulation frame has fields for storing an address of its network interface, an address of the network interface to be transmitted, and link information used between any two network interfaces.
 7. The method as claimed in claim 6, wherein the transmitting simulation frame procedure comprises the steps of: (A) calling a protocol; and (B) using a transmitting function of the protocol to transmit the simulation frame to a simulator conforming to the simulation.
 8. The method as claimed in claim 2, wherein the receiving simulation frame procedure comprises: (A) receiving the simulation frame; (B) retrieving the address of the network interface to be transmitted from the simulation frame and link information used between any two network interfaces; (C) comparing the network interface or link information stored in the simulation frame with that in the simulator; and (D) accepting the simulation frame by the simulator if comparison in (C) is matched.
 9. The method as claimed in claim 2, wherein the software simulation network configuration procedure comprises the steps of: (A) programming the network configuration to be simulated; (B) converting the programmed network configuration to be simulated into the data type identifiable by the computer by performing the data conversion procedure; (C) determining number of the simulators and number of nodes to be simulated by the simulators; (D) dividing and distributing the configuration data in rewritable data storage device into each of simulators for being stored; and (E) ascertaining that each simulator is capable of transmitting and receiving the simulation frames, and capable of recognizing structure information of the other one. 